﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Eagle verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
Public Class KOEagle
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenEnde)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenEnde)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "EAGLE"
        Armee = Armeen.GE.ToString
        Musik = "Eagle"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 2
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                SpritsenkungLuft = 2
                OffensivStaerke = New FeuerkrafttabelleLuft115Und70
                DeffensivStaerke = New FeuerkrafttabelleLuft110
            Case CommanderWarsGameModi.AdvanceWars2
                SpritsenkungLuft = 2
                OffensivStaerke = New FeuerkrafttabelleLuft115Und70
                DeffensivStaerke = New FeuerkrafttabelleLuft110
            Case CommanderWarsGameModi.AdvanceWarsDS
                SpritsenkungLuft = 2
                OffensivStaerke = New FeuerkrafttabelleLuft120und90
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                SpritsenkungLuft = 2
                OffensivStaerke = New FeuerkrafttabelleCustomSeeOffLuftOff(120, 100, 100)
            Case Else
                SpritsenkungLuft = 2
                OffensivStaerke = New FeuerkrafttabelleLuft115
        End Select
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Function GetBaublockade(ByVal Spieler As Integer) As Baublockade
        Return New Baublockade(Baublockade.BauBlockade.Sea, Spieler)
    End Function

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStaerke = New FeuerkrafttabelleLuft130Und70
                DeffensivStaerke = New FeuerkrafttabelleLuft130Und100
                If OhneFunktion = False Then
                    AnimationEigeneLuftkampf("EAGLEGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("EAGLEGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft120Schwach
                GabeEingesetzt()
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("EAGLEGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleCustomSeeOffLuftOff(60, 50, 50)
                GabeEingesetzt()
            Case Else
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("EAGLEGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft11505
                GabeEingesetzt()
        End Select

    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMoveAgain())
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMoveAgain)
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("EAGLEGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft115Schwach
                DeffensivStaerke = New FeuerkrafttabelleLuftVerSchwach
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft130Und70
                DeffensivStaerke = New FeuerkrafttabelleLuft130Und100
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft115
                GabeEingesetzt()
            Case Else
                If OhneFunktion = False Then
                    NochmalZiehen()
                    AnimationAlleAusserInfis("SPEZIALGABE", 2)
                End If
                OffensivStaerke = New FeuerkrafttabelleLuft135
                GabeEingesetzt()
        End Select
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub

    Public Overrides Function UseCOP() As Boolean
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC, CommanderWarsGameModi.AdvanceWarsDS
                Return True
            Case Else
                Return False
        End Select
    End Function
End Class

Public Class KOBeschreibungEagle
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Eagle"
        Fein = "Gluecksbrille"
        Nein = "Schwimmen"
        Beschreibung = New String() {"Green Earths bewunderter Pilot. Ist der Luftwaffe zu ehren seines Vaters beigetreten."}
        Stil = New String() {"Seine Lufteinheiten verbauchen", "weniger Sprit und sind staerker,", "aber seine Seewaffe ist schwach."}
        Gabebeschreibung = New String() {"Seine Truppen koennen noch einmal ziehen", "sind aber schaecher."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen koennen noch einmal ziehen", "und sind staerker."}
        GabeKosten = 3
        Spezialgabekosten = 6
        Gaben = New String() {"Blitzlicht", "Blitzschlag"}
        Synergie = New Decimal() {1.5#, 2, 1.5#, 0.5#, -1, -3, -1, -1.5#, 1, 1, -1.5#, -1.5#}
        KONamen = New String() {"ANDY", "TAMI", "DRAKE", "JESS", "KAT", "MAVERIK", "VON BOLT", "EDWARD", "SMITAN", "PETER", "GRAVES", "EDWARD"}
        Doppelgabenamen = New String() {"Luftzug", "Luft und Boden", "Sturmflut", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Zu viel des Guten", "Lufttaktiken", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Alle Truppen bereit. Gebt ihnen nicht einmal Zeit zum bereuen." _
                                    , "Schachmatt!" _
                                    , "Denkst du das haelst du durch?" _
                                    , "Die Adler fliegen ueber dir." _
                                    , "Ich habe kein Interresse an Untergebenen. Fort mit dir!" _
                                    , "Ich habe dich und deine Wachen festgenommen."}
        Siegsaetze = New String() {"Hmpf! Wie erwartet." _
                                , "Wo bleibt die Herausforderung?" _
                                , "Ein weiterer Sieg. Gab es jemals Zweifel daran?"}
        Tauschsaetze = New String() {"Willst du wirklich mich als Herausforderung?" _
                                    , "Du verschwendest meine Zeit."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("EAGLE", "TAMI", "Du bleibst hier in Sicherheit.", "Hey ich bin ein KO. Du Dummkopf.") _
                                              , New DoppelGabesatz("EAGLE", "TAMI", "Der Sieg ist gesichert.", "Das ist mein Eagle.") _
                                               , New DoppelGabesatz("ANDY", "EAGLE", "Erfolg. Ich bin bereit fuer mehr. Ich kann jeden Tag kaempfen.", "Ha! Gut gesprochen. Mein bester Rivale.") _
                                              , New DoppelGabesatz("ANDY", "EAGLE", "Wir haben fast gesiegt.", "Selbstverstaendlich. Mich kann nur ich besiegen und das tue ich normalerweise nicht.") _
                                              , New DoppelGabesatz("EAGLE", "DRAKE", "Du darfst den naechsten Kampf machen.", "Vielleicht ist der ja auf einem Ozean.") _
                                              , New DoppelGabesatz("EAGLE", "DRAKE", "Dies ist die Macht von Green Earth.", "Das ist richtig. Macht uns nicht wuetend.") _
                                              , New DoppelGabesatz("SMITAN", "EAGLE", "Lasst keine Gnade walten. Volle Salve!", "Smitan es reicht wenn wir gewinnen.") _
                                              , New DoppelGabesatz("EAGLE", "SMITAN", "Mit meiner Gluecksbrille sind wir unbesiegbar.", "Glueck braucht niemand! Man braucht nur genuegend Feuerkraft!") _
                                              , New DoppelGabesatz("PETER", "EAGLE", "Wir braeuchten dort ein Bombardement.", "Kein Problem! Meine Luftwaffe ist unterwegs.") _
                                              , New DoppelGabesatz("EAGLE", "PETER", "Luft und Boden", "kann niemand aufhalten.")}
        Niederlagesaetze = New String() {"Das ist es was passiert, wenn man sich nicht konzentriert.", _
                                        "Unmoeglich! Ich werde gerade sehr wuetend."}

    End Sub
End Class
